package com.liangzhong.model.friend.vo
{
	import com.liangzhong.model.AppData;
	import com.liangzhong.model.match.vo.MatchResultVo;
	import com.liangzhong.model.playerCenter.vo.PlayerVo;
	
	import flash.events.Event;
	import flash.events.EventDispatcher;
	import flash.utils.ByteArray;
	
	/**
	 *朋友vo 
	 * @author lake
	 * 
	 */	
	public class FriendVo extends EventDispatcher
	{
		public function FriendVo()
		{
		}
		/**
		 *ID 
		 */
		public var friendid:int;
		/**
		 *名称  
		 */
		public var uname:String; 
		/**
		 *综合能力 
		 */
		public var ability:int;
		/**
		 *国家 
		 */
		public var country:int;
		/**
		 *等级 
		 */
		public var level:int;
		/**
		 *时间 
		 */
		public var time:int;
		/**
		 *时间 str
		 */
		public var time_str:String ;
		/**
		 *vip 
		 */
		public var VIP:int;
		/**
		 *是否在线 
		 * 1-在线，2-不在线
		 */
		public var offline:int;
		/**
		 *队徽 
		 */
		public var logo:int;
		
		//好友之间的比赛结果 1赢，2平，3输
		public var friendResult:Array;
//		public var 
//		public var 
		/**
		 *解析数据 
		 * @param $obj
		 * 
		 */
		public function analysis($obj:Object):void
		{
			for(var str:String in $obj)
			{
				if(this.hasOwnProperty(str))
					this[str] = $obj[str];
			}
			if(time == 0)
			{
				time = AppData.getInstance().time;
			}
			turnTime();
		}
		/**
		 *解析服务器返回数据
		 * 增加一名好友 
		 * @param buffer
		 * 
		 */
		public function analysisByte(buffer:ByteArray):void
		{
			friendid = buffer.readInt();
//			country = buffer.readShort();
			
			logo = buffer.readShort();
			level = buffer.readShort();
//			ability = buffer.readShort();
//			time = buffer.readInt();
			VIP = buffer.readInt();
			offline = buffer.readByte();
			var len:int = buffer.readShort();
			uname = buffer.readUTFBytes(len);
			friendResult = [];
//			turnTime();
		}
		/**
		 * 解析受到邀请时的数据
		 * @param buffer
		 * 
		 */		
		public function analysisinvite(buffer:ByteArray):void
		{
			friendid = buffer.readInt();
			country = buffer.readShort();
			level = buffer.readShort();
			ability = buffer.readShort();
			VIP = buffer.readInt();
			time = buffer.readInt();
			var len:int = buffer.readShort();
			uname = buffer.readUTFBytes(len);
			friendResult = [];
			//buffer.read
			turnTime();
		}
		/**
		 *解析推荐数据 与analysisinvite相比少了时间
		 * 时间为当天的时间
		 * @param buffer
		 * 
		 */
		public function analysisrecommend(buffer:ByteArray):void
		{
			friendid = buffer.readInt();
			country = buffer.readShort();
			level = buffer.readShort();
			ability = buffer.readShort();
			VIP = buffer.readInt();
		//	time = buffer.readInt();
			var len:int = buffer.readShort();
			uname = buffer.readUTFBytes(len);
			if(time == 0)
			{
				time = AppData.getInstance().time;
			}
			turnTime();
		}
		/**
		 *转换时间 
		 * 
		 */
		public function turnTime():void
		{
			var data:Date = new Date(time * 1000);
			time_str = (data.getMonth() + 1) + "-"+ data.getDate();
		}
		
		
		/**
		 *比赛结果 1赢，2平，3输
		 * @param result
		 * 
		 */
		public function matchResult(value :MatchResultVo):void
		{
			var r:int;
			if(value.ggold > value.hgold)
			{
				r = 3;
			}else if(value.ggold < value.hgold)
			{
				r = 1;
			}else
			{
				r = 2;
			}
			if( friendResult == null)
			{
				friendResult = [];
			}
			friendResult.unshift(r);
			if(friendResult.length >5)
				friendResult.pop();
		}
	}
}




















































	//		/**
	//		 * 好友俱乐部id
	//		 */		
	//		public var cid 			:int;
	//		/**
	//		 * 好友俱乐部名称
	//		 */		
	//		public var name 		:String;
	//		/**
	//		 *俱乐部评分 
	//		 */		
	//		public var score		:int;
	//		/**
	//		 * 好友头像
	//		 */		
	//		public var headurl2 	:String;
	//		/**
	//		 * 好友俱乐部等级
	//		 */		
	//		public var grade		:int;
	//		/**
	//		 *图像容器 
	//		 */		
	//		public var imgContain 	:*;
	//		/**
	//		 *最近5场战绩 
	//		 */		
	//		public var match1		:int;
	//		public var match2		:int;
	//		public var match3		:int;
	//		public var match4		:int;
	//		public var match5		:int;
	//		/**
	//		 *最终状态 
	//		 * 相互关系:
	//			1.	红色
	//			2.	黄色
	//			3.	灰色
	//		 */		
	//		public var rel			:int = 2;
	//		/**
	//		 *1 QQ好友
	//		 *4 游戏好友 
	//		 */		
	//		public var platform		:int;
	//		////////////////////////////////////////////////////
	//		/**
	//		 *球员 
	//		 */		
	//		public var players		:Array = [];
	//		//////////////
	//		/**
	//		 *天梯等级
	//		 */		
	//		public var tt_level		:int;
	//		/**
	//		 *天梯积分 
	//		 */		
	//		public var tt_integral :int;
	//		/**
	//		 *天梯排名 
	//		 */		
	//		public var tt_sort		:int;
	//		/**
	//		 * 比赛赢场数
	//		 */		
	//		public var match_win   :int;
	//		/**
	//		 * 比赛总场数
	//		 */		
	//		public var match_total	:int;
	//		///////////////////
	//		//综合能力
	//		/**
	//		*	进攻：前锋0.6+中场0.3+后卫0.1 +龙门0
	//			控球：前锋0.3+中场0.5+后卫0.2 +龙门0
	//			力量：前锋0.3+中场0.4+后卫0.3 +龙门0
	//			防守：前锋0.0+中场0.1+后卫0.5 +龙门0.4
	//			抢断：前锋0.1+中场0.3+后卫0.6 +龙门0
	//			速度：前锋0.5+中场0.3+后卫0.2 +龙门0
	//		*/
	//		/**
	//		 *进攻 (int)  
	//		 */
	//		public var s1:Number = 0;
	//		/**
	//		 *控球 (int) 
	//		 */
	//		public var s2:Number = 0;
	//		/**
	//		 *力量 (int)  
	//		 */
	//		public var s3:Number = 0;
	//		/**
	//		 *防守 (int)  
	//		 */
	//		public var s4:Number = 0;
	//		/**
	//		 *抢断 (int)  
	//		 */
	//		public var s5:Number = 0;
	//		/**
	//		 *速度 (int)  
	//		 */
	//		public var s6:Number = 0;
	//		///
	//		/**
	//		 * 阵型id
	//		 */		
	//		public var tacticsId 	:int;
	//		/**
	//		 * 阵型等级
	//		 */		
	//		public var tacticsLev 	:int;
	//		
	//		public function FriendVo()
	//		{
	//		}
	//		/**
	//		 *解析数据 
	//		 * @param data
	//		 */		
	//		public function parse(data :Object):void
	//		{
	//			cid 		= data.cid;
	//			name 		= data.name;
	//			headurl2 	= data.headurl2;
	//			grade 		= data.grade;
	//			match1		= data.match1;
	//			match2		= data.match2;
	//			match3		= data.match3;
	//			match4		= data.match4;
	//			match5		= data.match5;
	//			rel			= data.rel;
	//			platform	= data.platform;
	//		}
	//		/**
	//		 *解析俱乐部信息 
	//		 * @param pList
	//		 * 
	//		 */		
	//		public function parseClubInfo(cObj :Object):void
	//		{
	////			PlayerVo.placeNumArr = [0,0,0,0];
	////			//equip
	////			var equidObjArr :Array = cObj.info.equip;
	////			//player
	////			var fpv :FriendPlayerVo;
	////			players = [];
	////			for each(var item :Object in cObj.players)
	////			{
	////				fpv = new FriendPlayerVo();
	////				fpv.analysisData(item);
	////				fpv.equips = getEquips(equidObjArr,fpv.id);
	////				players.push(fpv);
	////			}
	////			s1 = 0;
	////			s2 = 0;
	////			s3 = 0;
	////			s4 = 0;
	////			s5 = 0;
	////			s6 = 0;
	////			for each(fpv in players)
	////			{
	////				s1 += fpv.ss1;
	////				s2 += fpv.ss2;
	////				s3 += fpv.ss3;
	////				s4 += fpv.ss4;
	////				s5 += fpv.ss5;
	////				s6 += fpv.ss6;
	////			}
	////			//trace(players);
	////			///club info
	////			var info :Object = cObj.info;
	////			tt_level 	= info.tt_level;
	////			tt_integral = info.tt_integral;
	////			tt_sort 	= info.tt_sort;
	////			match_win 	= info.match_win;
	////			match_total = info.match_total;
	////			tacticsId 	= info.tactics.tid;
	////			tacticsLev	= info.tactics.level;
	////			//club 
	////			name = info.club.name;
	////			grade = info.club.grade;
	////			headurl2 = info.club.headurl2;
	////			//dispatch event
	////			this.dispatchEvent(new Event(Event.CHANGE));
	//		}
	//		/**
	//		 *获取装备 
	//		 * @param idsObjArr
	//		 * @param playerId
	//		 * @return 
	//		 * 
	//		 */		
	//		private function getEquips(idsObjArr :Array,playerId :int):Array
	//		{
	//			var ids :Array = [];
	//			for each(var idObj :Object in idsObjArr)
	//			{
	//				if(idObj.pid == playerId)
	//				{
	//					ids.push(idObj.propId);
	//				}
	//			}
	//			return ids;
	//		}
	//		/**
	//		 *更新数据 
	//		 * @param value
	//		 * 
	//		 */		
	//		public function updateResult(value :FriendMatchResultVo):void
	//		{
	//			//grade 		= value.grade;
	//			rel 		= value.rel;
	//			score 		= value.score;
	//			match1		= value.match1;
	//			match2		= value.match2;
	//			match3		= value.match3;
	//			match4		= value.match4;
	//			match5		= value.match5;
	//			this.dispatchEvent(new Event(Event.INIT));
	//		}
	//		/**
	//		 *get win ratio 
	//		 * @return 
	//		 * 
	//		 */		
	//		public function get winRatio():int
	//		{
	//			return (match_win / match_total)*100;
	//		}
	//		/**
	//		 *天梯字母 
	//		 * @return 
	//		 * 
	//		 */		
	//		public function get tt_levelStr():String
	//		{
	//			var info :String = "D";
	//			switch(tt_level)
	//			{
	//				case 1:
	//				{
	//					info = "D";
	//					break;
	//				}
	//				case 2:
	//				{
	//					info = "C";
	//					break;
	//				}
	//				case 3:
	//				{
	//					info = "B";
	//					break;
	//				}
	//				case 4:
	//				{
	//					info = "A";
	//					break;
	//				}
	//				case 5:
	//				{
	//					info = "S";
	//					break;
	//				}
	//			}
	//			return info;
	//		}
	//		/**
	//		 *获取阵型加成描述 
	//		 * @return 
	//		 * 
	//		 */		
	//		public function get tacticsDesc():String
	//		{
	//			var info :String = "";
	////			info = AppData.getInstance().trainingDataManager.getTacticsDesc(tacticsId,tacticsLev);
	//			return info;
	//		}
	//	}
